Personal video recorder (PVR) used to require a large amount of storage space so that the user could watch on-demand programs. U.S. Publication No. 2005/0005300 disclosed a networked personal video recorder service using a plurality of recording servers in a network to form a large network video recorder to serve each client directly to meet the on-demand video watch by the users. U.S. Publication No. 2005/0183120 disclosed a distributed multimedia technology by installing a server in a network to receive the clients' request to pre-record programs and display the recorded programs at a specified time slot. The server of the client-server architecture may easily become the performance bottleneck. The service providers must upgrade the servers as the number of clients increases.
The recent popularity of sharing through P2P networks has made P2P network becoming a large shared storage space. For example, P2Cast technology uses P2P patching to provide video on demand (VoD) service, which divides the users into several groups according to the join time of the users. Thereby, the users in the same group have the join time close to one another. Each group forms a multicast tree. Streaming server will serve the root of each multicast tree. The users in the same group may coordinate with other users. However, each group is independent. The difference between P2VoD technology and P2 Cast technology is that the groups in P2VoD technology may coordinate with other groups. The video session currently watched by the first group may be watched by the second ground later. In other words, all the users of I group may serve the users of I+1 group. However, when the number of users in the first group is substantially smaller than the second group, many users will not be served. In addition, when a large number of users joining the first group, the workload on the server will be also large.
Direct Stream technology is based on P2Cast technology, with the addition of allowing users to use VCR function, by using different multicast trees to change the playing progress. However, as the P2Cast technology shown in FIG. 1, in addition to a streaming server 110, one or more directory servers 120 must be included to record the status of each node in the network, such as watching progress, buffer size, network address, service capability, and so on. When user 132 executes the VCR function to change the playing progress, another parent node 131 with the similar viewing progress provides the program session to user 132. The objective of directory server is to find the parent node matching the criterion. However, as the performance or the number of the directory server will be influenced by the number of users, the directory server may also become the bottleneck, and the cost will also increase.
The network TV software currently using P2P technology, such as PPLive, PPStream, AntTV, does not support VoD system and VCR functions. The playing progress for each user must be synchronous with the broadcasting progress. In other words, all the users watching the same program have the same playing progress.